package com.caoheng.pay.pay.channel.wrap.request;


/**
 * @ClassName AliPayRequestParam
 * @Description 支付宝支付请求参数
 * @Author shuimodanqing
 * @Date 2018/12/20 1:18 PM
 */
public class AliPayRequestParam {

    private String appId;

    private String aliPublicKey;

    private String gateWay;

    private String privateKey;

    private String signType;

    private String format;

    private String notifyUrl;

    private String body;

    private String subject;

    private String outTradeNo;

    private String productCode;

    private String goodsType;

    private String timeoutExpress;

    private String timeExpire;

    public static class Builder{
        private AliPayRequestParam payRequestParam;

        public Builder(){
            this.payRequestParam = new AliPayRequestParam();
        }

        public Builder appId(String appId){
            this.payRequestParam.appId = appId;
            return this;
        }

        public Builder aliPublicKey(String aliPublicKey){
            this.payRequestParam.aliPublicKey = aliPublicKey;
            return this;
        }

        public Builder privateKey(String privateKey){
            this.payRequestParam.privateKey = privateKey;
            return this;
        }

        public Builder signType(String signType){
            this.payRequestParam.signType = signType;
            return this;
        }

        public Builder format(String format){
            this.payRequestParam.format = format;
            return this;
        }

        public Builder notifyUrl(String notifyUrl){
            this.payRequestParam.notifyUrl = notifyUrl;
            return this;
        }

        public Builder body(String body){
            this.payRequestParam.body = body;
            return this;
        }

        public Builder subject(String subject){
            this.payRequestParam.subject = subject;
            return this;
        }

        public Builder outTradeNo(String outTradeNo){
            this.payRequestParam.outTradeNo = outTradeNo;
            return this;
        }

        public Builder productCode(String productCode){
            this.payRequestParam.productCode = productCode;
            return this;
        }

        public Builder goodsType(String goodsType){
            this.payRequestParam.goodsType = goodsType;
            return this;
        }

        public Builder timeoutExpress(String timeoutExpress){
            this.payRequestParam.timeoutExpress = timeoutExpress;
            return this;
        }

        public Builder timeExpire(String timeExpire){
            this.payRequestParam.timeExpire = timeExpire;
            return this;
        }

        public Builder gateWay(String gateWay){
            this.payRequestParam.gateWay = gateWay;
            return this;
        }

        public AliPayRequestParam build(){
            return this.payRequestParam;
        }
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getAliPublicKey() {
        return aliPublicKey;
    }

    public void setAliPublicKey(String aliPublicKey) {
        this.aliPublicKey = aliPublicKey;
    }

    public String getGateWay() {
        return gateWay;
    }

    public void setGateWay(String gateWay) {
        this.gateWay = gateWay;
    }

    public String getPrivateKey() {
        return privateKey;
    }

    public void setPrivateKey(String privateKey) {
        this.privateKey = privateKey;
    }

    public String getSignType() {
        return signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    public String getTimeoutExpress() {
        return timeoutExpress;
    }

    public void setTimeoutExpress(String timeoutExpress) {
        this.timeoutExpress = timeoutExpress;
    }

    public String getTimeExpire() {
        return timeExpire;
    }

    public void setTimeExpire(String timeExpire) {
        this.timeExpire = timeExpire;
    }
}
